---
title: Introdução
description: Uma breve visão geral do Ultracite e de como ele funciona.
---

Ultracite é uma ferramenta de desenvolvimento rápida, intuitiva e simples que traz formatação de código e linting automatizados para os seus projetos JavaScript / TypeScript. Construído em cima do [Biome](https://biomejs.dev/) (um formatador e linter de código baseado em Rust), o Ultracite fornece uma configuração pré-definida robusta, otimizada para desenvolvimento web moderno.

Instale o Ultracite rapidamente executando:

```package-install
npx ultracite init
```

Em seguida, siga o guia de [Uso](/usage) para começar, ou confira [Configuração](/setup) para um controle mais granular.

## Como o Ultracite funciona?

Uma vez configurado, o Ultracite roda majoritariamente em segundo plano — formatando automaticamente seu código e aplicando correções toda vez que você salva seus arquivos. Como o Biome é tão rápido, mesmo em projetos grandes, executar as verificações do Ultracite é extremamente rápido e pode ser executado a cada salvamento sem causar lentidão. Isso significa que você pode se concentrar em construir e entregar em vez de corrigir manualmente issues de estilo ou depurar erros em tempo de execução.

## O que é o Biome?

[Biome](https://biomejs.dev/) é uma cadeia de ferramentas tudo-em-um para formatação e linting de código. O Biome, escrito em Rust, combina a funcionalidade de ferramentas como [Prettier](https://prettier.io/) (formatador de código), [ESLint](https://eslint.org/) (linter) e [Stylelint](https://stylelint.io/) em um único binário rápido. O Ultracite aproveita a velocidade e as capacidades do Biome, fornecendo um conjunto de regras e configurações pré-definidas voltadas para projetos TypeScript modernos.

## Objetivos

Os objetivos do Ultracite do ponto de vista do desenvolvimento são:

### Desempenho ultrarrápido

O Ultracite se beneficia do desempenho do [Biome](https://biomejs.dev/) e da implementação em Rust, e devemos nos esforçar para mantê-lo assim.

### Sem necessidade de configuração por padrão

O Ultracite foi projetado para não exigir configuração por padrão. Isso permite que novos usuários comecem rapidamente e sem a necessidade de configurar o linter/formatter; e economiza tempo das equipes ao integrar novos desenvolvedores.

O objetivo é fornecer uma configuração padrão que seja adequada para a maioria dos projetos, mas também oferecer uma forma de personalizar a configuração para quem precisar.

### Intuitivo e simples

O Ultracite deve ser o mais invisível possível. Preferencialmente, não deve exigir nenhuma configuração ou ação por parte do usuário. Se necessário, deve fornecer feedback de forma que seja fácil de entender e agir.

### Máxima segurança de tipos

O Ultracite deve ser projetado para oferecer a maior segurança de tipos possível. Deve usar o modo estrito do TypeScript e regras adicionais de lint para capturar erros e fornecer sugestões de melhorias.

### Compatível com outras ferramentas

O Ultracite deve ser capaz de trabalhar com outras ferramentas e bibliotecas sem entrar em conflito com elas.